const unsigned char 
dofly_DuanMa[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1
,0x86,0x8e}; 
int CLK = 2; 
int DAT = 3;//A or B 
void setup() { 
// 循环设置，把对应的端口都设置成输出
 pinMode(CLK, OUTPUT); 
 pinMode(DAT, OUTPUT); 
 Serial.begin(9600); 
}
void SendByte(unsigned char dat) 
{ 
 static unsigned char i; 
for(i=0;i<8;i++) 
 { 
digitalWrite(CLK,0); 
digitalWrite(DAT,!bitRead(dat,7-i));//高位先输出。这里也可以用 arduino 自带的 函数操作，主用于 595，164 类型的输出，自查帮助文件。 
digitalWrite(CLK,1); 
} 
} 
// 主循环
void loop() { 
 // 循环显示 0-9 数字
 for(int i=0;i<10;i++){ 
SendByte(dofly_DuanMa[i]); 
delay(1000); //调节延时，2 个数字之间的停留间隔
 } 
 }
